/*
 * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
 * @author open-zb http://www.open-zb.net
 * @author Andre Cunha
 */
 
#ifndef __MAC_ENUMERATIONS__
#define __MAC_ENUMERATIONS__
 
//Mac enumerations standard pag 110

enum { 
		MAC_SUCCESS = 0x00,
        MAC_BEACON_LOSS = 0xE0,
        MAC_CHANNEL_ACCESS_FAILURE = 0xE1,
        MAC_DENIED = 0xE2,
		//MLME-RESET
        MAC_DISABLE_TRX_FAILURE = 0xE3,
        MAC_FAILED_SECURITY_CHECK = 0xE4,
        MAC_FRAME_TOO_LONG = 0xE5,
        MAC_INVALID_GTS = 0xE6,
        MAC_INVALID_HANDLE = 0xE7,
        MAC_INVALID_PARAMETER = 0xE8,
        MAC_NO_ACK = 0xE9,
        MAC_NO_BEACON = 0xEA,
        MAC_NO_DATA = 0xEB,
        MAC_NO_SHORT_ADDRESS = 0xEC,
        MAC_OUT_OF_CAP = 0xED,
        MAC_PAN_ID_CONFLICT = 0xEE,
        MAC_REALIGNMENT = 0xEF,
        MAC_TRANSACTION_EXPIRED = 0xF0,
        MAC_TRANSACTION_OVERFLOW = 0xF1,
        MAC_TX_ACTIVE = 0xF2,
        MAC_UNAVAILABLE_KEY = 0xF3,
        MAC_UNSUPPORTED_ATTRIBUTE = 0xF4
        };



//mac dissassociation enums
enum{
		MAC_PAN_COORD_LEAVE = 0x01,
        MAC_PAN_DEVICE_LEAVE = 0x02,

};



//mac commands enums
enum {

	CMD_ASSOCIATION_REQUEST = 0x01,
	CMD_ASSOCIATION_RESPONSE = 0x02,
	CMD_DISASSOCIATION_NOTIFICATION = 0x03,
	CMD_DATA_REQUEST = 0x04,
	CMD_PANID_CONFLICT = 0x05,
	CMD_ORPHAN_NOTIFICATION = 0x06,
	CMD_BEACON_REQUEST = 0x07,
	CMD_COORDINATOR_REALIGNMENT = 0x08,
	CMD_GTS_REQUEST = 0x09
};


//mac association responses
enum {

	CMD_RESP_ASSOCIATION_SUCCESSFUL = 0x00,
	CMD_RESP_PAN_CAPACITY =0x01,
	CMD_RESP_ACCESS_DENIED =0x02
	
};

//MAC PIB Enumeration
enum {

	MACACKWAITDURATION = 0x40,
	MACASSOCIATIONPERMIT=0x41,
	MACAUTOREQUEST = 0x42,
	MACBATTLIFEEXT=0x43,
	MACBATTLIFEEXTPERIODS=0x44,
	MACBEACONPAYLOAD=0x45,
	MACMAXBEACONPAYLOADLENGTH=0x46,
	MACBEACONORDER=0x47,
	MACBEACONTXTIME=0x48,
	MACBSN=0x49,
	MACCOORDEXTENDEDADDRESS=0x4a,
	MACCOORDSHORTADDRESS=0x4b,
	MACDSN=0x4c,
	MACGTSPERMIT=0x4d,
	MACMAXCSMABACKOFFS=0x4e,
	MACMINBE=0x4f,
	MACPANID=0x50,
	MACPROMISCUOUSMODE=0x51,
	MACRXONWHENIDLE=0x52,
	MACSHORTADDRESS=0x53,
	MACSUPERFRAMEORDER=0x54,
	MACTRANSACTIONPERSISTENCETIME=0x55

};

//gts enumerations
enum{
	GTS_TX_ONLY = 0x00,
	GTS_RX_ONLY = 0x01
};

//channel scan enumerations
#ifndef TKN154_MAC
enum{
	ED_SCAN = 0x00,
	ACTIVE_SCAN = 0x01,
	PASSIVE_SCAN = 0x02,
	ORPHAN_SCAN = 0x03
};
#else
enum{
	ED_SCAN = 0x00
}
#endif
//
#endif

